Configuration changes are routine operations in modern data processing systems (such as for installing, removing or updating software products). For this purpose, software distribution applications have been proposed in the last years to facilitate the deployment of the software products from a central site to multiple target computers (or endpoints).
Several software distribution applications known in the art allow some sort of control of the process by users of the endpoints. For example, an administrator can enable the display of a pop-up dialog on each endpoint. The pop-up dialog informs the user possibly logged on the endpoint of the specific distribution process (for example, involving the installation of a new software product). In this way, the user can decide to accept, defer or even reject its execution.
The administrator defines the information provided to the users in the pop-up dialogs at the distribution time of each software product to be installed. For example, this information consists of a message (in the form of a simple descriptive text), which identifies the software product that will be installed and that warns the user of potential dangerous actions (such as any reboot of the endpoint).
A drawback of the solutions known in the art is that the quality of the displayed information is generally very poor. Indeed, the message simply provides an overview of the installation process in very general terms. Moreover, the drafting of the message by the administrator is prone to errors; this drawback is further exacerbated by the fact that the operation is performed by a person, which typically has an overall knowledge of the distribution process but not a good command of the details relating to the installation of every software product. In any case, the message must be sufficiently generic to fit any scenarios that can be encountered on the different endpoints. Nevertheless, sometimes the message may provide misleading information in nonstandard situations (for example, notifying actions that will never be executed).
Therefore, the decision of the user to accept or not the installation of the software product is often based on assumptions that do not reflect the real scenario, which the user will be faced with. As a result, the user may take wrong decisions (for example, deferring or rejecting the installation of software products that instead would have been performed without any problem).
All of the above has a detrimental impact on the process of deploying the software products (which is unnecessary delayed); this drawback is particular acute in large systems, wherein the software products must be installed on a high number of endpoints.